The present disclosure relates generally to storage services. More particularly, an infrastructure is described that enables an application's storage-related requirements to be declaratively specified and for storage services to be provided to that application in accordance with the specified storage-related requirements.
The proliferation and popularity of data-intensive technologies such as cloud computing, big data analysis, mobile computing, etc., has led to a dramatic increase in the collection and storage of data. As a result, the demand for storage resources and associated storage-related services has increased exponentially. Today's storage solutions are unable to keep pace with this increasing demand. For example, in a typical cloud environment, the storage resources used by cloud applications can be spread and distributed across multiple locations. The applications themselves may be of different types and may have different storage requirements. Even though the applications may have different storage requirements, presently, storage services are provided to the applications in an application-agnostic manner that does not take into consideration the applications' specific requirements. Many times an application is burdened with making do and compromising with storage services available to the application without any consideration to what the application's needs are. This can have a detrimental impact on the performance of the application and leads to inefficiencies in the manner storage-related services are provided to applications.